package com.chenchao.reflection;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

/**
 * @encoding : UTF-8
 * @Time : 2020/11/21 21:01
 * @Author : Chen Chao
 * @File : javaSE.com.chenchao.javareflection.Test04.java
 * @Software : IntelliJ IDEA
 * @since : 1.8
 * 通过反射设置属性
 */
public class Test04 {
    public static void main(String[] args) throws Exception{
        //获取字节码对象
        Class c=Class.forName("com.chenchao.reflection.Fish.java");
        //获取构造器
        Constructor constructor = c.getConstructor();
        //创建对象
        Fish fish = (Fish)constructor.newInstance();
        //获取set方法
        Method setName = c.getMethod("setName", String.class);
        //设置属性
        setName.invoke(fish,"小金鱼");
        //打印对象
        System.out.println(fish);
    }

}
